This invention relates generally to data processing machines and, more particularly, to controlling fabrication machines using markup languages.
The process of manufacturing Integrated Circuit (IC) chips may involve multiple steps and many machines. For example, the process may include the steps of deposition, diffusion, metallization, ion implantation and photolithography. Each of these steps may require different machines, such as chemical vapor deposition, dry etch, electron beam lithography, and metal deposition machines, to manufacture IC chips and other silicon devices. Each machine performs a specific step and may be programmed by a machine operator. These fabrication machines may be quite expensive and difficult and/or cumbersome to program.
A machine operator programs or reprograms the machine using an input device that is directly wired to the machine. These input devices may be a personal computer or other input terminal device and monitor. The task of reprogramming machines in a large fabrication plant to perform a different function may require many hours due to the number of machines and the need to individually connect to each machine with an input device. Moreover, reprogramming the machines may require a skilled operator who understands a particular machine programming language. For example, a machine operator may use a specification language, such as GEM/SECS, to reprogram the machine.
GEM/SECS is a specification language developed by the Semiconductor Equipment and Materials International (SEMI) trade association. This specification language details the requirements for IC machines to communication in a GEM/SECS environment. The capabilities provided in a GEM/SECS environment are extensive and allow a machine operator to design, implement, and debug fabrication equipment. More information regarding the GEM/SECS standards may be obtained from SEMI International and on the Internet at http://www.semi.org.
Input devices, such as personal computers, that are connected to fabrication machines, for programming may be connected, for example, via an RS-232 port (e.g., serial port) or other physical connection to the fabrication machine. A machine operator may transmit control commands to the fabrication machine that are then executed on the fabrication machine. The SECS specification language contains low level communication protocols used by the input devices to transfer data and instructions to a physically connected machine.
In some environments, computing devices are interconnected using a Local Area Network (LAN). A LAN may be used to interconnect nodes, such as personal computers, laptops or handheld devices and server platforms. Each node in a LAN may execute programs on its own Central Processing Unit (CPU) and may be able to access data and devices elsewhere on the LAN or, if the LAN is connected to other communication networks, outside the LAN. Users may also use the LAN to communicate with each other, for example, by sending e-mail or engaging in chat sessions. Multiple client nodes may be able to share content located on a file server node, exchange e-mail through a mail server or communicate directly on a peer-to-peer basis.
In addition to client and servers nodes, an access point, such as a router or gateway, may be integrated into the LAN. The router or gateway enables the nodes on the LAN to communicate with remote nodes located outside the LAN, such as web servers. The router uses message headers and a forwarding table to determine where a received packet should go, and uses Internet Control Messaging Protocol (ICMP) to communicate with other routers and determine the best route between any two nodes. Routers are able to communicate with nodes in a fixed networked environment, such as by using Category 5 cabling, or in a wireless networked environment, such as by using high-frequency radio waves that comply with IEEE 802.11 wireless local area network or Bluetooth protocols. For example, routers are able to communicate with wireless capable portable devices, such as computer laptops or other handheld devices. To communicate with the routers in a wireless environment, the portable devices may have a wireless network card, such as a PCMCIA card, to transmit information to and receive information from the router.
XML (eXtensible Markup Language) may be used to define data structures and process information. XML is a markup language that may define data sets relating to web documents. XML is a text-based markup language that uses tags, elements, and attributes to add structure and definition to documents, such as web pages. Tags may be used to mark a section of a document with a formatting command. The tags may enable a developer to indicate the beginning of a new section. Although XML is similar to HTML in syntax and implementation, XML provides enhanced functionality. HTML only allows developers to control how a document may be displayed. In addition to display functionality, XML may allow a description of the actual contents of the documents being displayed (and process the information based on user input) since XML enables developers to create their own collection of tags.
A system and method of transmitting instructions to control at least one fabrication machine includes generating a user interface including a series of selectable instructions, selectable machines and at least one graphical input associated with executing selected instructions on at least one selected fabrication machine, receiving an indication that the input has been selected, processing the series of selectable instructions using at least one XML schema, transmitting the processed instructions to the at least one fabrication machine, receiving a response from the at least one fabrication machine indicating whether the processed series of selectable instructions have been executed, and generating a second user interface based on the received response.